[INFO] fetching crate silver-rs 0.2.0-dev...
[INFO] checking silver-rs-0.2.0-dev against master#e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682 for beta-170-4
[INFO] extracting crate silver-rs 0.2.0-dev into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate silver-rs 0.2.0-dev on toolchain e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate silver-rs 0.2.0-dev
[INFO] finished tweaking crates.io crate silver-rs 0.2.0-dev
[INFO] tweaked toml for crates.io crate silver-rs 0.2.0-dev written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7cb7ce7ef678fd93b4aaa0ee5e6eb83751d107db7226199510b860f6766ccf0c
[INFO] running `Command { std: "docker" "start" "-a" "7cb7ce7ef678fd93b4aaa0ee5e6eb83751d107db7226199510b860f6766ccf0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7cb7ce7ef678fd93b4aaa0ee5e6eb83751d107db7226199510b860f6766ccf0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7cb7ce7ef678fd93b4aaa0ee5e6eb83751d107db7226199510b860f6766ccf0c", kill_on_drop: false }`
[INFO] [stdout] 7cb7ce7ef678fd93b4aaa0ee5e6eb83751d107db7226199510b860f6766ccf0c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a5363c429b9403ac1ddb014a98d345f85cc1f671b9f6d7d378333b8a860c571
[INFO] running `Command { std: "docker" "start" "-a" "9a5363c429b9403ac1ddb014a98d345f85cc1f671b9f6d7d378333b8a860c571", kill_on_drop: false }`
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking gimli v0.27.2
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]     Checking object v0.30.3
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking env_logger v0.6.2
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking http v0.1.21
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking string v0.2.1
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking pretty_env_logger v0.3.1
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling hyper v0.12.36
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking tokio-buf v0.1.1
[INFO] [stderr]     Checking want v0.2.0
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio-uds v0.2.7
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking addr2line v0.19.0
[INFO] [stderr]     Checking h2 v0.1.26
[INFO] [stderr]     Checking http-body v0.1.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking backtrace v0.3.67
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking silver-rs v0.2.0-dev (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/router/recognizer.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         'walk: while pos < path.len() {
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/router/recognizer.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         'walk: while pos < path.len() {
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/app/service.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     in_flight: Box<Future<Item = Output, Error = Error> + Send>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     in_flight: Box<dyn Future<Item = Output, Error = Error> + Send>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/error.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type CritError = Box<StdError + Send + Sync + 'static>;
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type CritError = Box<dyn StdError + Send + Sync + 'static>;
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/route.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | /         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stdout] 17 | |             + Send
[INFO] [stdout] 18 | |             + Sync
[INFO] [stdout] 19 | |             + 'static,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |         dyn Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stdout]    |         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/route.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |         Fn(&Context, &mut RouterContext) -> Box<dyn Future<Item = Output, Error = Error> + Send>
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/app/service.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     in_flight: Box<Future<Item = Output, Error = Error> + Send>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     in_flight: Box<dyn Future<Item = Output, Error = Error> + Send>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/error.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type CritError = Box<StdError + Send + Sync + 'static>;
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type CritError = Box<dyn StdError + Send + Sync + 'static>;
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/route.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | /         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stdout] 17 | |             + Send
[INFO] [stdout] 18 | |             + Sync
[INFO] [stdout] 19 | |             + 'static,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |         dyn Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stdout]    |         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/output/body.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 |         S::Error: Into<Box<StdError + Send + Sync + 'static>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |         S::Error: Into<Box<dyn StdError + Send + Sync + 'static>>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/route.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |         Fn(&Context, &mut RouterContext) -> Box<dyn Future<Item = Output, Error = Error> + Send>
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/route.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ) -> Box<dyn Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/router.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn handle(&self, cx: &Context) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn handle(&self, cx: &Context) -> Box<dyn Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/output/body.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 |         S::Error: Into<Box<StdError + Send + Sync + 'static>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |         S::Error: Into<Box<dyn StdError + Send + Sync + 'static>>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/route.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     ) -> Box<dyn Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/router/router.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn handle(&self, cx: &Context) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn handle(&self, cx: &Context) -> Box<dyn Future<Item = Output, Error = Error> + Send> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/router/recognizer.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 | /         t!(
[INFO] [stdout] 366 | |             case1,
[INFO] [stdout] 367 | |             ["/foo"],
[INFO] [stdout] 368 | |             Node {
[INFO] [stdout] ...   |
[INFO] [stdout] 372 | |             }
[INFO] [stdout] 373 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in [$($path),*].iter().enumerate() {
[INFO] [stdout]     |                                                   ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in IntoIterator::into_iter([$($path),*]).enumerate() {
[INFO] [stdout]     |                                      ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/router/recognizer.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 | /         t!(
[INFO] [stdout] 376 | |             case2,
[INFO] [stdout] 377 | |             ["/foo", "/bar"],
[INFO] [stdout] 378 | |             Node {
[INFO] [stdout] ...   |
[INFO] [stdout] 393 | |             }
[INFO] [stdout] 394 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in [$($path),*].iter().enumerate() {
[INFO] [stdout]     |                                                   ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in IntoIterator::into_iter([$($path),*]).enumerate() {
[INFO] [stdout]     |                                      ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/router/recognizer.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 | /         t!(
[INFO] [stdout] 397 | |             case3,
[INFO] [stdout] 398 | |             ["/foo", "/foobar"],
[INFO] [stdout] 399 | |             Node {
[INFO] [stdout] ...   |
[INFO] [stdout] 407 | |             }
[INFO] [stdout] 408 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in [$($path),*].iter().enumerate() {
[INFO] [stdout]     |                                                   ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in IntoIterator::into_iter([$($path),*]).enumerate() {
[INFO] [stdout]     |                                      ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/router/recognizer.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 | /         t!(
[INFO] [stdout] 411 | |             param_case1,
[INFO] [stdout] 412 | |             ["/:id"],
[INFO] [stdout] 413 | |             Node {
[INFO] [stdout] ...   |
[INFO] [stdout] 421 | |             }
[INFO] [stdout] 422 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in [$($path),*].iter().enumerate() {
[INFO] [stdout]     |                                                   ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in IntoIterator::into_iter([$($path),*]).enumerate() {
[INFO] [stdout]     |                                      ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/router/recognizer.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 | /         t!(
[INFO] [stdout] 425 | |             param_case2,
[INFO] [stdout] 426 | |             [
[INFO] [stdout] 427 | |                 "/files",
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |             }
[INFO] [stdout] 458 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in [$($path),*].iter().enumerate() {
[INFO] [stdout]     |                                                   ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in IntoIterator::into_iter([$($path),*]).enumerate() {
[INFO] [stdout]     |                                      ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/router/recognizer.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 | /         t!(
[INFO] [stdout] 461 | |             catch_all_case1,
[INFO] [stdout] 462 | |             ["/*path"],
[INFO] [stdout] 463 | |             Node {
[INFO] [stdout] ...   |
[INFO] [stdout] 471 | |             }
[INFO] [stdout] 472 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in [$($path),*].iter().enumerate() {
[INFO] [stdout]     |                                                   ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in IntoIterator::into_iter([$($path),*]).enumerate() {
[INFO] [stdout]     |                                      ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/router/recognizer.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 474 | /         t!(
[INFO] [stdout] 475 | |             catch_all_case2,
[INFO] [stdout] 476 | |             ["/files", "/files/*path"],
[INFO] [stdout] 477 | |             Node {
[INFO] [stdout] ...   |
[INFO] [stdout] 489 | |             }
[INFO] [stdout] 490 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in [$($path),*].iter().enumerate() {
[INFO] [stdout]     |                                                   ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 347 |                     for (i, path) in IntoIterator::into_iter([$($path),*]).enumerate() {
[INFO] [stdout]     |                                      ++++++++++++++++++++++++            ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `silver_rs::transport`
[INFO] [stdout]  --> examples/upgrade.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use silver_rs::transport::Io;
[INFO] [stdout]   |                ^^^^^^^^^ could not find `transport` in `silver_rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `silver_rs::upgrade`
[INFO] [stdout]   --> examples/upgrade.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use silver_rs::upgrade::UpgradeContext;
[INFO] [stdout]    |                ^^^^^^^ could not find `upgrade` in `silver_rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `silver_rs::App`, `silver_rs::Context`, `silver_rs::Error`
[INFO] [stdout]   --> examples/upgrade.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use silver_rs::{App, Context, Error};
[INFO] [stdout]    |                 ^^^  ^^^^^^^  ^^^^^ no `Error` in the root
[INFO] [stdout]    |                 |    |
[INFO] [stdout]    |                 |    no `Context` in the root
[INFO] [stdout]    |                 no `App` in the root
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            silver_rs::app::App
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            silver_rs::context::Context
[INFO] [stdout]            std::task::Context
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            http::Error
[INFO] [stdout]            silver_rs::error::Error
[INFO] [stdout]            std::error::Error
[INFO] [stdout]            std::fmt::Error
[INFO] [stdout]            std::io::Error
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 11 | use silver_rs::{app, Context, Error};
[INFO] [stdout]    |                 ~~~
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 11 | use silver_rs::{App, context, Error};
[INFO] [stdout]    |                      ~~~~~~~
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 11 | use silver_rs::{App, Context, error};
[INFO] [stdout]    |                               ~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Result` in module `silver_rs::app`
[INFO] [stdout]   --> examples/upgrade.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn main() -> silver_rs::app::Result<()> {
[INFO] [stdout]    |                              ^^^^^^ not found in `silver_rs::app`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 8  + use http::Result;
[INFO] [stdout]    |
[INFO] [stdout] 8  + use silver_rs::rt::Result;
[INFO] [stdout]    |
[INFO] [stdout] 8  + use std::fmt::Result;
[INFO] [stdout]    |
[INFO] [stdout] 8  + use std::io::Result;
[INFO] [stdout]    |
[INFO] [stdout]      and 2 other candidates
[INFO] [stdout] help: if you import `Result`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 39 - fn main() -> silver_rs::app::Result<()> {
[INFO] [stdout] 39 + fn main() -> Result<()> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `tokio_io::codec::Framed`: Moved to tokio-codec
[INFO] [stdout]   --> examples/upgrade.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_io::codec::{Framed, FramedParts, LinesCodec};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `tokio_io::codec::LinesCodec`: Moved to tokio-codec
[INFO] [stdout]   --> examples/upgrade.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_io::codec::{Framed, FramedParts, LinesCodec};
[INFO] [stdout]    |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `tokio_io::codec::Framed`: Moved to tokio-codec
[INFO] [stdout]   --> examples/upgrade.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let (sink, stream) = Framed::from_parts(parts, LinesCodec::new()).split();
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `tokio_io::codec::LinesCodec`: Moved to tokio-codec
[INFO] [stdout]   --> examples/upgrade.rs:27:60
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let (sink, stream) = Framed::from_parts(parts, LinesCodec::new()).split();
[INFO] [stdout]    |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `silver-rs` (example "upgrade") due to 5 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9a5363c429b9403ac1ddb014a98d345f85cc1f671b9f6d7d378333b8a860c571", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a5363c429b9403ac1ddb014a98d345f85cc1f671b9f6d7d378333b8a860c571", kill_on_drop: false }`
[INFO] [stdout] 9a5363c429b9403ac1ddb014a98d345f85cc1f671b9f6d7d378333b8a860c571
